namespace PORTING_BSWAP_MACRO {
	// Pretty normal byte swapping macro, changes unsigned integers from one type of endian to another
	#define SWAPBYTES(x) ( ((x) & 0xff) << 24 ) | ( (((x) >> 8) & 0xff) << 16 ) | ( (((x) >> 16) & 0xff) << 8 ) | ( (((x) >> 24) & 0xff)

	// Now the definition is endian-guarded
	#if BIG_ENDIAN
	#define SWAPBYTES(x) ( ((x) & 0xff) << 24 ) | ( (((x) >> 8) & 0xff) << 16 ) | ( (((x) >> 16) & 0xff) << 8 ) | ( (((x) >> 24) & 0xff) )
	#else
	#define SWAPBYTES(x) ( x )
	#endif
}